*** Comparison of "Germanwatch Climate Change Performance Index" (CCPI) and "UNFCCC Climate Cooperation Index" (C3-I)***

*** February 17, 2012 ***

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

*** Basics and Descriptives ***
sum final_item coop2, detail
sum final_item coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, detail
kdensity final_item, norm scheme(s1mono)
swilk final_item
kdensity final_item if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk final_item if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
kdensity coop2, norm scheme(s1mono)
swilk coop2
kdensity coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
pwcorr final_item coop2, sig star(0.05)
collin final_item coop2
ttest final_item=coop2
ttest final_item=coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705

*** Basic Model 1 ***
capture drop d*

reg final_item coop2
twoway (scatter final_item coop2, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d1, cooksd
reg final_item coop2 if d1<4/217
list ccode cname_year if d1>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg final_item coop2 if final_item>35
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg final_item coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

*** Basic Model 2 ***
reg coop2 final_item
twoway (scatter coop2 final_item, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d2, cooksd
reg coop2 final_item if d2<4/217
list ccode cname_year if d2>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop2 final_item if final_item>35
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop2 final_item if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

capture drop d*

*** Basic Graphs *** 
reg final_item coop2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter final_item coop2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit final_item coop2) (mspline final_item coop2) if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(UNFCCC Climate Cooperation Index) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph1, replace)

reg coop2 final_item if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter coop2 final_item, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit coop2 final_item) (mspline coop2 final_item) if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Germanwatch Climate Change Performance Index) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph2, replace)
graph combine graph1 graph2, scheme(s1mono)

*** Polity IV Regression Models ***
reg final_item polity2, cluster(ccode)
predict yhat_1 if e(sample)
eststo model1
local r2: display %5.3f e(r2)
twoway (scatter final_item polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit final_item polity2) (mspline final_item polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph3, replace)
twoway (scatter final_item yhat_1, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph7, replace)

reg coop2 polity2 if e(sample), cluster(ccode)
predict yhat_2 if e(sample)
eststo model2
local r2: display %5.3f e(r2)
twoway (scatter coop2 polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop2 polity2) (mspline coop2 polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph4, replace)
twoway (scatter coop2 yhat_2, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate coop2eration Index) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph8, replace)
graph combine graph3 graph4, scheme(s1mono) xcommon
graph combine graph7 graph8, scheme(s1mono)

reg final_item polity2 if final_item>35 & ccode!=750 & ccode!=830 & ccode!=705, cluster(ccode)
predict yhat_3 if e(sample)
eststo model3
local r2: display %5.3f e(r2)
twoway (scatter final_item polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit final_item polity2) (mspline final_item polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph5, replace)
twoway (scatter final_item yhat_3, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph9, replace)

reg coop2 polity2 if e(sample), cluster(ccode)
predict yhat_4 if e(sample)
eststo model4
local r2: display %5.3f e(r2)
twoway (scatter coop2 polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop2 polity2) (mspline coop2 polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph6, replace)
twoway (scatter coop2 yhat_4, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index) ytitle(, size(small)) xtitle(UNFCCC Climate coop2eration Index - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph10, replace)
graph combine graph5 graph6, scheme(s1mono) xcommon
graph combine graph9 graph10, scheme(s1mono)

esttab, r2 se scalar(rmse) label
capture drop _est_model1 _est_model2 _est_model3 _est_model4
capture drop yhat*

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

*** Basics and Descriptives ***
sum policy_all coop_out, detail
sum policy_all coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, detail
kdensity policy_all, norm scheme(s1mono)
swilk policy_all
kdensity policy_all if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk policy_all if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
kdensity coop_out, norm scheme(s1mono)
swilk coop_out
kdensity coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
pwcorr policy_all coop_out, sig star(0.05)
collin policy_all coop_out
ttest policy_all=coop_out
ttest policy_all=coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705

*** Basic Model 1 ***
capture drop d*

reg policy_all coop_out
twoway (scatter policy_all coop_out, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d1, cooksd
reg policy_all coop_out if d1<4/217
list ccode cname_year if d1>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg policy_all coop_out if policy_all>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg policy_all coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

*** Basic Model 2 ***
reg coop_out policy_all
twoway (scatter coop_out policy_all, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d2, cooksd
reg coop_out policy_all if d2<4/217
list ccode cname_year if d2>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop_out policy_all if policy_all>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop_out policy_all if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

capture drop d*

*** Basic Graphs ***
reg policy_all coop_out if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter policy_all coop_out, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit policy_all coop_out) (mspline policy_all coop_out) if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Policy All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(UNFCCC Climate Cooperation Index - Output Component) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph1, replace)

reg coop_out policy_all if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter coop_out policy_all, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit coop_out policy_all) (mspline coop_out policy_all) if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Output Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Germanwatch Climate Change Performance Index - Policy All) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph2, replace)
graph combine graph1 graph2, scheme(s1mono)

*** Polity IV Regression Models ***
reg policy_all polity2, cluster(ccode)
predict yhat_1 if e(sample)
eststo model1
local r2: display %5.3f e(r2)
twoway (scatter policy_all polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit policy_all polity2) (mspline policy_all polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Policy All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph3, replace)
twoway (scatter policy_all yhat_1, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Policy All) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Policy All - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph7, replace)

reg coop_out polity2 if e(sample), cluster(ccode)
predict yhat_2 if e(sample)
eststo model2
local r2: display %5.3f e(r2)
twoway (scatter coop_out polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop_out polity2) (mspline coop_out polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Output Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph4, replace)
twoway (scatter coop_out yhat_2, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - Output Component) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - Output Component - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph8, replace)
graph combine graph3 graph4, scheme(s1mono) xcommon
graph combine graph7 graph8, scheme(s1mono)

reg policy_all polity2 if policy_all>19 & ccode!=750 & ccode!=830 & ccode!=705, cluster(ccode)
predict yhat_3 if e(sample)
eststo model3
local r2: display %5.3f e(r2)
twoway (scatter policy_all polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit policy_all polity2) (mspline policy_all polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Policy All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph5, replace)
twoway (scatter policy_all yhat_3, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Policy All) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Policy All - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph9, replace)

reg coop_out polity2 if e(sample), cluster(ccode)
predict yhat_4 if e(sample)
eststo model4
local r2: display %5.3f e(r2)
twoway (scatter coop_out polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop_out polity2) (mspline coop_out polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Output Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph6, replace)
twoway (scatter coop_out yhat_4, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - Output Component) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - Output Component - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph10, replace)
graph combine graph5 graph6, scheme(s1mono) xcommon
graph combine graph9 graph10, scheme(s1mono)

esttab, r2 se scalar(rmse) label
capture drop _est_model1 _est_model2 _est_model3 _est_model4
capture drop yhat*

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

*** Basics and Descriptives ***
sum outcome_all coop_outcome, detail
sum outcome_all coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, detail
kdensity outcome_all, norm scheme(s1mono)
swilk outcome_all
kdensity outcome_all if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk outcome_all if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
kdensity coop_outcome, norm scheme(s1mono)
swilk coop_outcome
kdensity coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
pwcorr outcome_all coop_outcome, sig star(0.05)
collin outcome_all coop_outcome
ttest outcome_all=coop_outcome
ttest outcome_all=coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705

*** Basic Model 1 ***
capture drop d*

reg outcome_all coop_outcome
twoway (scatter outcome_all coop_outcome, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d1, cooksd
reg outcome_all coop_outcome if d1<4/217
list ccode cname_year if d1>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg outcome_all coop_outcome if outcome_all>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg outcome_all coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

*** Basic Model 2 ***
reg coop_outcome outcome_all
twoway (scatter coop_outcome outcome_all, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d2, cooksd
reg coop_outcome outcome_all if d2<4/217
list ccode cname_year if d2>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop_outcome outcome_all if outcome_all>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg coop_outcome outcome_all if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

capture drop d*

*** Basic Graphs ***
reg outcome_all coop_outcome if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter outcome_all coop_outcome, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit outcome_all coop_outcome) (mspline outcome_all coop_outcome) if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Outcome All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(UNFCCC Climate Cooperation Index - Outcome Component) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph1, replace)

reg coop_outcome outcome_all if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter coop_outcome outcome_all, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit coop_outcome outcome_all) (mspline coop_outcome outcome_all) if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Outcome Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Germanwatch Climate Change Performance Index - Outcome All) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph2, replace)
graph combine graph1 graph2, scheme(s1mono)

*** Polity IV Regression Models ***
reg outcome_all polity2, cluster(ccode)
predict yhat_1 if e(sample)
eststo model1
local r2: display %5.3f e(r2)
twoway (scatter outcome_all polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit outcome_all polity2) (mspline outcome_all polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Outcome All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph3, replace)
twoway (scatter outcome_all yhat_1, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Outcome All) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Outcome All - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph7, replace)

reg coop_outcome polity2 if e(sample), cluster(ccode)
predict yhat_2 if e(sample)
eststo model2
local r2: display %5.3f e(r2)
twoway (scatter coop_outcome polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop_outcome polity2) (mspline coop_outcome polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Outcome Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph4, replace)
twoway (scatter coop_outcome yhat_2, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - Outcome Component) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - Outcome Component - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph8, replace)
graph combine graph3 graph4, scheme(s1mono) xcommon
graph combine graph7 graph8, scheme(s1mono)

reg outcome_all polity2 if outcome_all>19 & ccode!=750 & ccode!=830 & ccode!=705, cluster(ccode)
predict yhat_3 if e(sample)
eststo model3
local r2: display %5.3f e(r2)
twoway (scatter outcome_all polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit outcome_all polity2) (mspline outcome_all polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Outcome All) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph5, replace)
twoway (scatter outcome_all yhat_3, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Outcome All) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Outcome All - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph9, replace)

reg coop_outcome polity2 if e(sample), cluster(ccode)
predict yhat_4 if e(sample)
eststo model4
local r2: display %5.3f e(r2)
twoway (scatter coop_outcome polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit coop_outcome polity2) (mspline coop_outcome polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - Outcome Component) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph6, replace)
twoway (scatter coop_outcome yhat_4, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - Outcome Component) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - Outcome Component - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph10, replace)
graph combine graph5 graph6, scheme(s1mono) xcommon
graph combine graph9 graph10, scheme(s1mono)

esttab, r2 se scalar(rmse) label
capture drop _est_model1 _est_model2 _est_model3 _est_model4
capture drop yhat*

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

*** Basics and Descriptives ***
sum level co2_item, detail
sum level co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705, detail
kdensity level, norm scheme(s1mono)
swilk level
kdensity level if level>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk level if level>19 & ccode!=750 & ccode!=830 & ccode!=705
kdensity co2_item, norm scheme(s1mono)
swilk co2_item
kdensity co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705
pwcorr level co2_item, sig star(0.05)
collin level co2_item
ttest level=co2_item
ttest level=co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705

*** Basic Model 1 ***
capture drop d*

reg level co2_item
twoway (scatter level co2_item, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d1, cooksd
reg level co2_item if d1<4/217
list ccode cname_year if d1>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg level co2_item if level>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg level co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

*** Basic Model 2 ***
reg co2_item level
twoway (scatter co2_item level, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d2, cooksd
reg co2_item level if d2<4/217
list ccode cname_year if d2>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg co2_item level if level>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg co2_item level if level>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

capture drop d*

*** Basic Graphs ***
reg level co2_item if level>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter level co2_item, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit level co2_item) (mspline level co2_item) if level>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Level) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Item) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph1, replace)

reg co2_item level if level>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter co2_item level, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit co2_item level) (mspline co2_item level) if level>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Item) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Germanwatch Climate Change Performance Index - Level) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph2, replace)
graph combine graph1 graph2, scheme(s1mono)

*** Polity IV Regression Models ***
reg level polity2, cluster(ccode)
predict yhat_1 if e(sample)
eststo model1
local r2: display %5.3f e(r2)
twoway (scatter level polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit level polity2) (mspline level polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Level) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph3, replace)
twoway (scatter level yhat_1, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Level) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Level - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph7, replace)

reg co2_item polity2 if e(sample), cluster(ccode)
predict yhat_2 if e(sample)
eststo model2
local r2: display %5.3f e(r2)
twoway (scatter co2_item polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit co2_item polity2) (mspline co2_item polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Item) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph4, replace)
twoway (scatter co2_item yhat_2, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - CO2 Item) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Item - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph8, replace)
graph combine graph3 graph4, scheme(s1mono) xcommon
graph combine graph7 graph8, scheme(s1mono)

reg level polity2 if level>19 & ccode!=750 & ccode!=830 & ccode!=705, cluster(ccode)
predict yhat_3 if e(sample)
eststo model3
local r2: display %5.3f e(r2)
twoway (scatter level polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit level polity2) (mspline level polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Level) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph5, replace)
twoway (scatter level yhat_3, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Level) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Level - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph9, replace)

reg co2_item polity2 if e(sample), cluster(ccode)
predict yhat_4 if e(sample)
eststo model4
local r2: display %5.3f e(r2)
twoway (scatter co2_item polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit co2_item polity2) (mspline co2_item polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Item) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph6, replace)
twoway (scatter co2_item yhat_4, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - CO2 Item) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Item - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph10, replace)
graph combine graph5 graph6, scheme(s1mono) xcommon
graph combine graph9 graph10, scheme(s1mono)

esttab, r2 se scalar(rmse) label
capture drop _est_model1 _est_model2 _est_model3 _est_model4
capture drop yhat*

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

*** Basics and Descriptives ***
sum trend co2_change, detail
sum trend co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, detail
kdensity trend, norm scheme(s1mono)
swilk trend
kdensity trend if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk trend if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
kdensity co2_change, norm scheme(s1mono)
swilk co2_change
kdensity co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, norm scheme(s1mono)
swilk co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
pwcorr trend co2_change, sig star(0.05)
collin trend co2_change
ttest trend=co2_change
ttest trend=co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705

*** Basic Model 1 ***
capture drop d*

reg trend co2_change
twoway (scatter trend co2_change, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d1, cooksd
reg trend co2_change if d1<4/217
list ccode cname_year if d1>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg trend co2_change if trend>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg trend co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

*** Basic Model 2 ***
reg co2_change trend
twoway (scatter co2_change trend, sort msymbol(circle) mlabel(cname_year)), scheme(s1mono)
lvr2plot, mlabel(cname_year) scheme(s1mono)
predict d2, cooksd
reg co2_change trend if d2<4/217
list ccode cname_year if d2>4/217
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg co2_change trend if trend>19
lvr2plot, mlabel(cname_year) scheme(s1mono)

reg co2_change trend if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
lvr2plot, mlabel(cname_year) scheme(s1mono)

capture drop d*

*** Basic Graphs ***
reg trend co2_change if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter trend co2_change, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit trend co2_change) (mspline trend co2_change) if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Trend) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Change) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph1, replace)

reg co2_change trend if trend>19 & ccode!=750 & ccode!=830 & ccode!=705
local r2: display %5.3f e(r2)
twoway (scatter co2_change trend, sort mcolor(black) msize(vsmall) msymbol(circle) mlabel(cname_year) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabgap(minuscule)) (lfit co2_change trend) (mspline co2_change trend) if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Change) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Germanwatch Climate Change Performance Index - Trend) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph2, replace)
graph combine graph1 graph2, scheme(s1mono)

*** Polity IV Regression Models ***
reg trend polity2, cluster(ccode)
predict yhat_1 if e(sample)
eststo model1
local r2: display %5.3f e(r2)
twoway (scatter trend polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit trend polity2) (mspline trend polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Trend) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph3, replace)
twoway (scatter trend yhat_1, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Trend) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Trend - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph7, replace)

reg co2_change polity2 if e(sample), cluster(ccode)
predict yhat_2 if e(sample)
eststo model2
local r2: display %5.3f e(r2)
twoway (scatter co2_change polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit co2_change polity2) (mspline co2_change polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Change) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph4, replace)
twoway (scatter co2_change yhat_2, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - CO2 Change) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Change - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph8, replace)
graph combine graph3 graph4, scheme(s1mono) xcommon
graph combine graph7 graph8, scheme(s1mono)

reg trend polity2 if trend>19 & ccode!=750 & ccode!=830 & ccode!=705, cluster(ccode)
predict yhat_3 if e(sample)
eststo model3
local r2: display %5.3f e(r2)
twoway (scatter trend polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit trend polity2) (mspline trend polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(Germanwatch Climate Change Performance Index - Trend) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph5, replace)
twoway (scatter trend yhat_3, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(Germanwatch Climate Change Performance Index - Trend) ytitle(, size(small)) xtitle(Germanwatch Climate Change Performance Index - Trend - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph9, replace)

reg co2_change polity2 if e(sample), cluster(ccode)
predict yhat_4 if e(sample)
eststo model4
local r2: display %5.3f e(r2)
twoway (scatter co2_change polity2, sort mcolor(black) msize(vsmall) msymbol(circle) mlabsize(tiny) mlabv(pos) mlabcolor(black) mlabposition(12) mlabgap(minuscule)) (lfit co2_change polity2) (mspline co2_change polity2) if e(sample), note(R2=`r2', size(vsmall) color(black) position(11) ring(0)) ytitle(UNFCCC Climate Cooperation Index - CO2 Change) ytitle(, size(small)) ylabel(, labsize(small)) xtitle(Democracy Score) xtitle(, size(small)) xlabel(, labsize(small)) legend(off) scheme(s1mono) name(graph6, replace)
twoway (scatter co2_change yhat_4, mcolor(black) msize(vsmall) msymbol(circle)), ytitle(UNFCCC Climate Cooperation Index - CO2 Change) ytitle(, size(small)) xtitle(UNFCCC Climate Cooperation Index - CO2 Change - Pred. Values) xtitle(, size(vsmall)) legend(off) scheme(s1mono) name(graph10, replace)
graph combine graph5 graph6, scheme(s1mono) xcommon
graph combine graph9 graph10, scheme(s1mono)

esttab, r2 se scalar(rmse) label
capture drop _est_model1 _est_model2 _est_model3 _est_model4
capture drop yhat*

********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
